public class JumpGame0105_55 {

    //从数组第一个元素开始遍历，每次拿到nums[i]的值，在（i + nums[i]）的范围内，
    // 找到能走的最远的索引。重复这个步骤，直到数组的末尾。
    public boolean canJump(int[] nums) {
        if(nums.length <= 1) return true;

        int cover = 0;

        for (int i = 0; i <= cover; i++) {
            cover = Math.max(cover,nums[i]);
            if(cover >= (nums.length-1)) return true;
        }
        return false;
    }
}
